/*
 * @Author: 曹捷
 * @Date: 2020-06-30 10:20:56
 * @LastEditors: 曹捷
 * @LastEditTime: 2020-08-20 14:56:23
 * @Description: 个推  消息推送设置
 */

import app from '../app'
export function gexinPush() {
    var info = plus.push.getClientInfo();
    console.log(JSON.stringify(info));
    /* 5+  push 消息推送 ps:使用:H5+的方式监听，实现推送*/
    plus.push.addEventListener("click", function (msg) {
        let params = msg.payload
        try {
            params = JSON.parse(msg.payload)
        } catch (e) {
            console.log(e)
            //TODO handle the exception
        }
        console.log(params)
        if (params.url) {
            app.goto(params.url)
        }
        //这里可以写跳转业务代码
    }, false);
    // 监听在线消息事件    
    plus.push.addEventListener("receive", function (msg) {
        // plus.ui.alert(2);  
        //这里可以写跳转业务代码
        console.log("recevice:")
        console.log(msg)
        let system = uni.getSystemInfoSync()
        if (system.platform === 'ios') { //如果是IOS  
            var payload = msg.payload;
            //【APP离线】收到消息，但没有提醒（发生在一次收到多个离线消息时，只有一个有提醒，但其他的没有提醒）  
            //【APP在线】收到消息，不会触发系统消息,需要创建本地消息，但不能重复创建。必须加msg.type验证去除死循环                
            if (msg.type == "receive") {
                //创建本地消息,发送的本地消息也会被receive方法接收到，但没有type属性，且aps是null  
                plus.push.createMessage(msg.content, JSON.stringify(msg.payload), msg);
            }
        }
        if (system.platform === 'android') { //如果是Android，当APP在线时，收到透传消息不会进入系统消息，需要发送本地提醒。
            // 由于穿透消息 只能发送一个content 故约定顺序拼接  
            // content": "收到一条转账消息,支付宝到账：999900万元,/pages/center/space/space?id=2",/
            let arr = msg.content.split(',')
            let options = { cover: false, title: arr[0] }
            let payload = {
                url: arr[2]
            }
            plus.push.createMessage(arr[1], JSON.stringify(payload), options);
        }
    }, false);
}

// IOS厂商通道在线下发的  {\"default\":4,\"ios\":4,\"st\":4}
// {
// 	"aps": {
// 		"alert": {
// 			"body": "支付宝到账：9999901万元",
// 			"subtitle": "中国人民银行向您转账",
// 			"title": "收到一条杜宝宝的消息1"
// 		},
// 		"badge": 0,
// 		"mutable-content": 1,
// 		"sound": "default"
// 	},
// 	"content": "支付宝到账：9999901万元",
// 	"payload": {
// 		"url": "/pages/center/space/space?id=2"
// 	},
// 	"title": "中铝知识分享平台",
// 	"type": "receive"
// }


// IOS在线，通过个推在线推送 content没有按照规范发送格式 {\"default\":1,\"ios\":1,\"st\":4}
// {
// 	"aps": null,
// 	"content": "收到一条杜宝宝的消息1,支付宝到账：9999901万元,/pages/center/space/space?id=2",
// 	"payload": "收到一条杜宝宝的消息1,支付宝到账：9999901万元,/pages/center/space/space?id=2",
// 	"title": "中铝知识分享平台",
// 	"type": "receive"
// }

// IOS在线，通过个推在线推送 content按照规范格式发送 {\"default\":1,\"ios\":1,\"st\":4}
// {"clientId":"2848c93350e59266172ab6487d1d3e73","content":"支付宝到账：9999901万元","payload":{"url":"/pages/center/space/space?id=2"},"subtitle":"中国人民银行向您转账","title":"收到一条杜宝宝的消息1"}
// 收到的消息
// {
// 	"aps": null,
// 	"content": "支付宝到账：9999901万元",
// 	"payload": {
// 		"url": "/pages/center/space/space?id=2"
// 	},
// 	"title": "收到一条杜宝宝的消息1",
// 	"type": "receive"
// }